/**
 * 元类型
 */
export default class Type{
    /**
     * 字段
     * @type {{}}
     */
    fileds = {}

    /**
     * 属性
     * @type {Map<String, PropertyDescriptor>}
     */
    props = new Map()

    /**
     * 方法
     * @type {Map<String, VoidFunction>}
     */
    methdos = new Map()

    /**
     * 函数
     * @type {Map<String, CallableFunction>}
     */
    functions = new Map()

    /**
     * 运算符
     * @type {Map<String, CallableFunction>}
     */
    operators = new Map()

    /**
     * 事件
     * @type {{}}
     */
    events = {}

    /**
     * 代理
     * @type {Map<String, CallableFunction>}
     */
    proxys = new Map()

    /**
     * 常量
     * @type {{}}
     */
    consts = {}

    /**
     * 装饰器
     * @type {Map<String, ClassDecorator>}
     */
    decorators = new Map()

    /**
     * 原型
     * @type {Class[]}
     */
    prototypes = []

    /**
     * 混入
     * @type {[{}]}
     */
    mixins = []

    /**
     * 本类型转换为其他类型
     * @type {Map<Class, NewableFunction>}
     */
    converters = new Map()

    /**
     * 其他类型转换为本类型
     * @type {Map<Class, NewableFunction>}
     */
    parsers = new Map()

    /**
     * 嵌套类
     * @type {Map<String, Class>}
     */
    classes = new Map()

    /**
     * 泛型类
     * @type {Class[]}
     */
    generics = []

    /**
     * 命令句子
     * @type {Map<RegExp, Function>}
     */
    sentences = new Map()

    /**
     * 名称
     */
    get name(){}

    /**
     * 析构器
     * @type {VoidFunction[]}
     */
    destructors = []

    /**
     * 构造器
     * @type {NewableFunction[]}
     */
    constructors = []

    /**
     * 索引器
     * @type {[PropertyDescriptor]}
     */
    indexers = []

    /**
     * 获取成员
     * @ return {[]}
     */
    get members(){}

    constructor() {
    }

}